package de.unidue.masterproject.generalinterfaces;

import java.util.List;

import de.unidue.masterproject.ccc.exceptions.WebServiceException;
import de.unidue.masterproject.generalmodel.WebserviceType;

public interface IWebServices {

	public abstract <T> T get(WebserviceType wsType, Class<T> entityClass,
			String plugInName, String plugInVersion, String username, String password) throws WebServiceException;

	public abstract <T> List<T> getList(WebserviceType wsType,
			Class<T> entityClass, String plugInName, String plugInVersion, String username, String password)
			throws WebServiceException;

	public abstract <T> void delete(WebserviceType wsType,
			Class<T> entityClass, String plugInName, String plugInVersion, String username, String password)
			throws WebServiceException;

	public abstract <T> void put(WebserviceType wsType, T object,
			Class<T> entityClass, String plugInName, String plugInVersion, String username, String password)
			throws WebServiceException;

	public abstract <T> void post(WebserviceType wsType, T object,
			Class<T> entityClass, String plugInName, String plugInVersion, String username, String password)
			throws WebServiceException;

}